When a change is made to a portion of software, portions other than the changed portion may be affected by the change. Any omission of extraction of portions which are affected by the change could become factors of production of failures. Therefore, it is necessary to extract all of the portions which are affected by the change.
However, due to the growing complexity and scale of software, it is difficult to visually extract all of the portions which are affected by the change.
Techniques of extracting direct dependence relationships which are affected by a change are disclosed in Patent Literature 1, Patent Literature 2, and Patent Literature 3. Moreover, techniques of extracting an indirect dependence relationship by sequentially tracking direct dependence relationships are also disclosed.
In the techniques disclosed in these patent literatures, while it is possible to extract an indirect dependence relationship that is able to be reached by sequentially tracking direct dependence relationships, it is impossible to extract an indirect dependence relationship that is not reached even by sequentially tracking direct dependence relationships.
For example, in a case where there is a dependence relationship from a component A to a component B and there is a dependence relationship from the component B to a component C, it is possible to extract an indirect dependence relationship from the component A to the component C. However, in a case where there is a dependence relationship from the component A to the component B and there is a dependence relationship from the component C to the component B, it is impossible to extract an indirect dependence relationship from the component A to the component C.